/**
 * 工序管理API
 * 用于获取工序列表数据
 */

import request from '@/utils/request'

/**
 * 获取工序列表
 * @param {Object} params - 查询参数
 * @param {string} params.processNo - 工序编码（可选）
 * @param {string} params.processName - 工序名称（可选）
 * @returns {Promise<Object>} 工序列表
 */
export function getProcessList(params = {}) {
  return request({
    url: '/md/process/list',
    method: 'GET',
    params
  })
}

/**
 * 获取所有工序选项（转换为下拉框格式）
 * @returns {Promise<Array>} 工序选项数组
 */
export async function getProcessOptions() {
  try {
    const res = await getProcessList()
    
    if (res.code === 0 && res.data) {
      return res.data.map(item => ({
        value: item.processNo,
        text: item.processName
      }))
    } else {
      console.warn('获取工序数据失败:', res.msg)
      return []
    }
  } catch (error) {
    console.error('获取工序选项失败:', error)
    return []
  }
}

/**
 * 根据工序编码获取工序信息
 * @param {string} processNo - 工序编码
 * @returns {Promise<Object>} 工序信息
 */
export async function getProcessByNo(processNo) {
  try {
    const res = await getProcessList({ processNo })
    
    if (res.code === 0 && res.data && res.data.length > 0) {
      return res.data[0]
    }
    return null
  } catch (error) {
    console.error('获取工序信息失败:', error)
    return null
  }
}

export default {
  getProcessList,
  getProcessOptions,
  getProcessByNo
}